home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / UTILITY / TLB_A211.ARJ / ADVANCED.DOC next >
Text File  |  1992-08-11  |  49KB  |  1,563 lines

  1.  
  2.  
  3.         
  4.  
  5.  
  6.                                ADVANCED UTILITIES
  7.  
  8.                                        for
  9.  
  10.                         THE LAST BYTE MEMORY MANAGER (tm)
  11.  
  12.                        An Upper Memory Manager for MS-DOS
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.                                   Version 2.11
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.                               Copyright (C) 1990-92
  31.                                All Rights Reserved
  32.  
  33.  
  34.                                        by
  35.  
  36.  
  37.                               KEY SOFTWARE PRODUCTS
  38.  
  39.                                 440 Ninth Avenue
  40.                           Menlo Park, California 94025
  41.                                   415-364-9847
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.         The Last Byte Memory Manager is a trademark of Key Software Products.
  52.          MS-DOS and Windows 3.0 are trademarks of Microsoft Corporation.
  53.              DR-DOS is a trademark of Digital Research Incorporated.
  54.                       4DOS is a trademark of J.P. Software.
  55.                      Hyperdisk is a trademark of HyperWare.
  56.             Other company trademarks are used with the company name.
  57.  
  58.  
  59.  
  60.         
  61.  
  62.  
  63.                                 TABLE OF CONTENTS
  64.  
  65.  
  66.  
  67.         CHAPTER 1 - HIGHAPND.EXE and HIGHAPND.SYS      ............    1
  68.            1.1  The APPEND=<size> Option of LASTBYTE.SYS    .......    1
  69.            1.2  Using HIGHAPND.SYS       ..........................    1
  70.            1.3  Using HIGHAPND.EXE       ..........................    2
  71.               1.3.1  The HIGHAPND Report      .....................    2
  72.               1.3.2  Using HIGHAPND in .BAT Files    ..............    2
  73.            1.4  Effect on EGA/VGA graphics     ....................    2
  74.            1.5  The /HIRESGFX Option      .........................    3
  75.               1.5.1  /HIRESGFX=TRAPPED        .....................    3
  76.               1.5.2  /HIRESGFX=SENSED        ......................    3
  77.               1.5.3  /HIRESGFX=ALLOWED        .....................    3
  78.  
  79.         CHAPTER 2 - HIGHBFRS.EXE (DOS 3 only)     .................    4
  80.            2.1  The BUFFERS=<number> Option      ..................    4
  81.            2.2  The /NORESTRICT Option      .......................    5
  82.            2.3  The /FLOPPY Option      ...........................    5
  83.            2.4  The HIGHBFRS Report      ..........................    5
  84.  
  85.         CHAPTER 3 - HIGHDISK.SYS        ...........................    7
  86.            3.1  Size and Directory Options     ....................    7
  87.            3.2  The /NOSPLIT Option      ..........................    7
  88.            3.3  Preloading Files into the Ram Disk   ..............    8
  89.  
  90.         CHAPTER 4 - HIGHEMS3.SYS and HIGHEMS4.SYS      ............    9
  91.            4.1  Controlling Memory Usage      .....................    9
  92.            4.2  The /NOSPLIT Option      ..........................    9
  93.            4.3  The /RESTRICT Option      .........................   10
  94.  
  95.         CHAPTER 5 - HIGHENV.EXE        ............................   11
  96.            5.1  The HIGHENV Report      ...........................   11
  97.            5.2  The /PATCH Option      ............................   11
  98.            5.3  Setting the Environment Size     ..................   12
  99.  
  100.         CHAPTER 6 - HIGHFILE.EXE        ...........................   14
  101.  
  102.         CHAPTER 7 - HIGHHOLE.EXE        ...........................   15
  103.            7.1  The HOLE=<base>:<size> Option of LASTBYTE.SYS    ..   15
  104.  
  105.         CHAPTER 8 - HIGHKEY.EXE        ............................   16
  106.            8.1  The /BUFSIZE=n Option      ........................   16
  107.            8.2  The /INSERT and /OVERSTRIKE Options    ............   16
  108.            8.3  The /HISTORY Option      ..........................   16
  109.            8.4  Preloading the History Buffer     .................   16
  110.            8.5  The /NOSPLIT Option      ..........................   17
  111.            8.6  Editing Commands       ............................   17
  112.  
  113.         CHAPTER 9 - HIGHMARK.EXE and HIGHUNDO.EXE      ............   19
  114.  
  115.         CHAPTER 10 - HIGHRSVD.EXE and HIGHRSVD.SYS      ...........   20
  116.            10.1  Reserving High-DOS Memory      ...................   20
  117.  
  118.  
  119.  
  120.         
  121.  
  122.  
  123.                                 TABLE OF CONTENTS
  124.  
  125.  
  126.            10.2  The HIGH Suboption      ..........................   20
  127.  
  128.         CHAPTER 11 - HIGHSPLR.EXE        ..........................   21
  129.            11.1  Specifying the Buffer Size     ...................   21
  130.            11.2  Specifying the Logical Device     ................   21
  131.            11.3  Specifying the Hardware Interrupt     ............   22
  132.            11.4  Specifying Flow Control      .....................   22
  133.            11.5  The MONITOR Option      ..........................   22
  134.            11.6  The RESET Option      ............................   22
  135.            11.7  The NOTEST Option      ...........................   23
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.         
  181.  
  182.  
  183.  
  184.         Aug 11, 1992           ADVANCED UTILITIES                       1
  185.  
  186.  
  187.                  CHAPTER 1 - HIGHAPND.EXE and HIGHAPND.SYS      
  188.  
  189.  
  190.         HIGHAPND  enables  or disables an appendage of up to 96k onto the
  191.         end  of  conventional  memory.   When  enabled, this can increase
  192.         conventional memory from 640k to as much as 736k.  
  193.  
  194.         HIGHAPND  requires  either  a memory controller chip or an EGA or
  195.         VGA  display  adapter.   If the memory controller chip can enable
  196.         shadow  ram  memory  at A000, then shadow ram memory will be used
  197.         to  extend  conventional memory; otherwise, HIGHAPND will convert
  198.         the  graphics  display  buffer  of the EGA or VGA display adapter
  199.         into an extension of conventional memory.  
  200.  
  201.  
  202.         1.1 The APPEND=<size> Option of LASTBYTE.SYS     
  203.  
  204.         To  use  HIGHAPND,  you  must  first  allocate  the  memory to be
  205.         appended  using  the APPEND option of LASTBYTE.SYS.  For example,
  206.         to  allow  HIGHAPND  to  append  64k  to  the  end of the 640k of
  207.         Conventional  memory,  you  must  add  the  following  option  to
  208.         LASTBYTE.SYS: 
  209.  
  210.                 DEVICE=LASTBYTE.SYS ... APPEND=64 ...  
  211.  
  212.         Monochrome  (MDA),  Hercules,  and CGA display adapters don't use
  213.         the  64k  region  starting at A000, and so this address space can
  214.         be  used  to  extend  conventional  memory  from  640k  to  704k,
  215.         provided  there  is  shadow  ram  available  in  this  area.  CGA
  216.         display  adapters don't use the next 32k either, and so CGA users
  217.         may be able to extend conventional memory all the way to 736k.  
  218.  
  219.         EGA  and  VGA  display adapters have a 64k hi-resolution graphics
  220.         display  buffer  that  is  located  at A000.  This buffer is only
  221.         needed  when you are using only hi-resolution graphics.  When the
  222.         display  is  in either text or low-resolution CGA graphics modes,
  223.         this  memory  is  not  used,  and may be replaced (switched) with
  224.         shadow  ram memory if available, or the display buffer itself may
  225.         be  used  as  additional conventional memory.  Since most EGA and
  226.         VGA  adapters  usually  don't  use  the  32k  region at B000, you
  227.         should even be able to extend conventional memory up to 736k.  
  228.  
  229.  
  230.         1.2 Using HIGHAPND.SYS        
  231.  
  232.         To  enable  the appendage during CONFIG.SYS processing, place the
  233.         following command in your CONFIG.SYS file: 
  234.  
  235.                 DEVICE=HIGHAPND.SYS ON 
  236.  
  237.         To   subsequently   disable   the   appendage  during  CONFIG.SYS
  238.  
  239.  
  240.  
  241.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  242.  
  243.  
  244.         Aug 11, 1992           ADVANCED UTILITIES                       2
  245.  
  246.  
  247.         processing, use: 
  248.  
  249.                 DEVICE=HIGHAPND.SYS OFF 
  250.  
  251.  
  252.         1.3 Using HIGHAPND.EXE        
  253.  
  254.         To  enable  the  appendage  during AUTOEXEC.BAT processing (or at
  255.         any time after the computer is booted), use the command: 
  256.  
  257.                 HIGHAPND ON 
  258.  
  259.         and to subsequently disable the appendage, use: 
  260.  
  261.                 HIGHAPND OFF 
  262.  
  263.  
  264.         1.3.1 The HIGHAPND Report       
  265.  
  266.         HIGHAPND  can  be  used  without  any  command  line  options  to
  267.         determine  the  current size of conventional memory and the state
  268.         of EGA/VGA hi-resolution graphics: 
  269.  
  270.                 A>HIGHAPND 
  271.  
  272.  
  273.         1.3.2 Using HIGHAPND in .BAT Files     
  274.  
  275.         You  can  put  these  commands  into  a  batch  file  to simplify
  276.         switching  back  and  forth.   For example, if you want the extra
  277.         memory  all  the  time  except  when you need hi-res graphics for
  278.         Microsoft Windows, create a batch file like the following: 
  279.  
  280.                 @ECHO OFF 
  281.                 HIGHAPND OFF 
  282.                 WIN %1 %2 
  283.                 HIGHAPND ON 
  284.  
  285.  
  286.         1.4 Effect on EGA/VGA graphics      
  287.  
  288.         HIGHAPND  will automatically disable any EGA or VGA hi-resolution
  289.         graphics   capability   whenever  conventional  memory  has  been
  290.         extended  beyond  640k.   This  makes  software  that attempts to
  291.         sense  what  type  of display adapter is installed think that you
  292.         have  only  a  CGA  adapter.   Later,  when you need the graphics
  293.         capability,   you   can   disable   the   memory   extension  and
  294.         hi-resolution graphics will be automatically re-enabled.  
  295.  
  296.         If  you  have  hi-res  graphics  disabled  and run a program that
  297.         tries  to use hi-res graphics without first sensing for an EGA or
  298.  
  299.  
  300.  
  301.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  302.  
  303.  
  304.         Aug 11, 1992           ADVANCED UTILITIES                       3
  305.  
  306.  
  307.         VGA  adapter,  LASTBYTE.SYS  will  notice  the conflict, issue an
  308.         error   message,   and  terminate  the  program.   Some  programs
  309.         redirect  a  few  interrupts during their initialization and then
  310.         restore  them  before termination.  LASTBYTE.SYS's termination of
  311.         graphics  programs  doesn't know how to restore these interrupts,
  312.         so  in  some cases you may have to reboot the computer.  In other
  313.         words,  if  you  experience this kind of program termination with
  314.         an  application  program, it's best to reboot and prepare a batch
  315.         file (as shown above) to run the program.  
  316.  
  317.  
  318.         1.5 The /HIRESGFX Option       
  319.  
  320.         HIGHAPND  provides  more  detailed  control  over this protection
  321.         through  the  /HIRESGFX  option  as described below.  This may be
  322.         helpful,  for  example,  with software that uses the 43 (50) line
  323.         text  mode of the EGA (VGA) adapter.  (The setting of this option
  324.         is only meaningful when HIGHAPND ON is in effect.) 
  325.  
  326.  
  327.         1.5.1 /HIRESGFX=TRAPPED         
  328.  
  329.         Disables  all EGA/VGA high-resolution graphics functions provided
  330.         by  video  BIOS  interrupt  10h  and  makes  programs think a CGA
  331.         adapter is installed.  (This is the default.) 
  332.  
  333.  
  334.         1.5.2 /HIRESGFX=SENSED         
  335.  
  336.         Disables  all EGA/VGA high-resolution graphics functions provided
  337.         by  video  BIOS  interrupt  10h,  but does let programs sense the
  338.         presence of an EGA or VGA adapter.  
  339.  
  340.  
  341.         1.5.3 /HIRESGFX=ALLOWED         
  342.  
  343.         Allows  all video BIOS interrupt 10h function calls, even if they
  344.         might use the 64k EGA/VGA graphics display buffer at A000-AFFF.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  362.  
  363.  
  364.         Aug 11, 1992           ADVANCED UTILITIES                       4
  365.  
  366.  
  367.                    CHAPTER 2 - HIGHBFRS.EXE (DOS 3 only)     
  368.  
  369.  
  370.         HIGHBFRS  can  be  used to place DOS 3.x buffers in upper memory.
  371.         Do  NOT  attempt  to use HIGHBFRS with any other version of DOS -
  372.         it will NOT work.  
  373.  
  374.         Microsoft  recommends  setting  the  BUFFERS option in CONFIG.SYS
  375.         according  to  the  type  of  application  most  frequently used.
  376.         Implicit  within  this  recommendation is the assumption that you
  377.         won't  change  the  value  very  often  since it requires editing
  378.         CONFIG.SYS and rebooting.  
  379.  
  380.         In  general, more buffers help when running programs that perform
  381.         random  access on a relatively small number of disk records (such
  382.         as  the  index  for a database program), or if your disk has many
  383.         subdirectories organized on several levels.  
  384.  
  385.         Since  HIGHBFRS  allows you to increase or decrease the number of
  386.         buffers  dynamically,  you  could create some batch files to tune
  387.         the  number  of  buffers to fit the application you're running at
  388.         the moment.  
  389.  
  390.                 ╔═════════════════════════════════════════════════╗
  391.                 ║ WARNING:  Placing DOS buffers in high memory    ║
  392.                 ║ can result in the loss of data.  I.e., it can   ║
  393.                 ║ damage the directory and file allocation tables ║
  394.                 ║ of your disk.  Read everything in this section  ║
  395.                 ║ before considering the use of this utility.     ║
  396.                 ╚═════════════════════════════════════════════════╝
  397.  
  398.         You  MUST  be  careful  that  moving  the  DOS buffers into upper
  399.         memory  does  not cause DMA transfers into a 128k region of upper
  400.         memory  that  contains  a  16-bit adapter, or else you may damage
  401.         the  data  on  your  disk.   See  the  discussion of the RESTRICT
  402.         option  of  LASTBYTE.SYS, and the /NORESTRICT and /FLOPPY options
  403.         discussed below.  
  404.  
  405.  
  406.         2.1 The BUFFERS=<number> Option       
  407.  
  408.         HIGHBFRS  defaults to the maximum number of buffers that will fit
  409.         in  the  free  High-DOS memory up to the DOS limit of 99 buffers.
  410.         However,  you  will  probably want to reserve some of this memory
  411.         for  other  uses.   This option changes the number of DOS buffers
  412.         to  the  value  specified;  <number>  is a number from 1-99.  For
  413.         example, the command: 
  414.  
  415.                 HIGHBFRS BUFFERS=20 
  416.  
  417.         will  establish  twenty  buffers  (about 10k) in High-DOS memory.
  418.  
  419.  
  420.  
  421.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  422.  
  423.  
  424.         Aug 11, 1992           ADVANCED UTILITIES                       5
  425.  
  426.  
  427.         You  may  run  the HIGHBFRS command more than once to dynamically
  428.         change  the  number  of  buffers  whenever you like.  You may use
  429.         BUFFERS=MAXIMUM  to  establish as many buffers (up to 99) as will
  430.         fit in upper memory.  
  431.  
  432.  
  433.         2.2 The /NORESTRICT Option       
  434.  
  435.         Each  time  you  boot, LASTBYTE.SYS checks each of the three 128k
  436.         regions  of  upper memory for the presence of 16-bit adapters and
  437.         records  this information for later use by HIGHBFRS.  By default,
  438.         HIGHBFRS  will  only  place  buffers  in those 128k regions where
  439.         there  are  no 16-bit adapters.  You may override this default by
  440.         using  the  /NORESTRICT  option  on the HIGHBFRS command line, as
  441.         in: 
  442.  
  443.                 HIGHBFRS /NORESTRICT 
  444.  
  445.                 ╔═════════════════════════════════════════════════╗
  446.                 ║ Use of the /NORESTRICT option is not recommended║ 
  447.                 ╚═════════════════════════════════════════════════╝
  448.  
  449.         If  none  of  the  three  128k  segments  is  considered  "safe",
  450.         HIGHBFRS  will default to the interception of floppy transfers as
  451.         described in the next section.  
  452.  
  453.  
  454.         2.3 The /FLOPPY Option       
  455.  
  456.         If  all  three 128k upper memory regions contain 16-bit adapters,
  457.         then  a  second  (different)  solution  may be both necessary and
  458.         sufficient.   This  option  causes  transfers between floppy disk
  459.         drives  and upper memory to be redirected through an intermediate
  460.         sector  buffer  in  conventional (low) memory.  The corresponding
  461.         command line option would be: 
  462.  
  463.                 HIGHBFRS /FLOPPY 
  464.  
  465.         Almost  all  hard  disk  controllers use CPU instructions (rather
  466.         than DMA) to transfer data and thus do not incur this problem.  
  467.  
  468.  
  469.         2.4 The HIGHBFRS Report       
  470.  
  471.         When  HIGHBFRS  is  invoked  with  no  command line arguments, it
  472.         simply  reports  the  number  of DOS buffers presently located in
  473.         upper  memory  and  whether  or not transfers between floppy disk
  474.         drives  and upper memory are redirected.  You may use the HIGHMEM
  475.         program  to determine where the buffers have been placed in upper
  476.         memory.  
  477.  
  478.  
  479.  
  480.  
  481.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  482.  
  483.  
  484.         Aug 11, 1992           ADVANCED UTILITIES                       6
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  542.  
  543.  
  544.         Aug 11, 1992           ADVANCED UTILITIES                       7
  545.  
  546.  
  547.                         CHAPTER 3 - HIGHDISK.SYS        
  548.  
  549.  
  550.         HIGHDISK.SYS  is  a  device  driver that implements a ram disk in
  551.         upper  memory.   Bank-Switch  Memory  is  allocated first, and if
  552.         that  isn't  enough, then High-DOS Memory is allocated to satisfy
  553.         the  total  request.   HIGHDISK  automatically  loads itself into
  554.         upper  memory;  do  not  use  either  HIGHDRVR  or the DEVICEHIGH
  555.         command; simply use a DEVICE command, as in: 
  556.  
  557.                 DEVICE=HIGHDISK.SYS 
  558.  
  559.         This  example  creates  a  ram disk that uses all available upper
  560.         memory,  with  32  directory  entries  and  sectors  of 128 bytes
  561.         each.  
  562.  
  563.  
  564.         3.1 Size and Directory Options      
  565.  
  566.         One  to three numeric command line options may be used to control
  567.         the  total  size,  sector  size, and the number of root directory
  568.         entries using the following syntax: 
  569.  
  570.          DEVICE=HIGHDISK.SYS [KBytes] [BytesPerSector] [RootDirEntries]
  571.  
  572.         For example, the command: 
  573.  
  574.                 DEVICE=HIGHDISK.SYS 100 256 64 
  575.  
  576.         creates  a  100k  RAM  disk with 256 bytes per sector and 64 root
  577.         directory  entries.   Other  options  (described  below)  can  be
  578.         placed  before,  after, or in between these numeric parameters on
  579.         the command line.  
  580.  
  581.  
  582.                 ╔═════════════════════════════════════════════════╗
  583.                 ║ NOTE: If you have used the command DOS=UMB or   ║ 
  584.                 ║ DOS=HIGH,UMB with HIGHUMM.SYS to let DOS 5.0    ║
  585.                 ║ manage the Upper Memory Blocks, you must limit  ║
  586.                 ║ how much upper memory HIGHUMM can use so that   ║
  587.                 ║ some will be available for HIGHDISK.            ║
  588.                 ╚═════════════════════════════════════════════════╝
  589.  
  590.  
  591.         3.2 The /NOSPLIT Option       
  592.  
  593.         When  HIGHDISK  is  installed,  it  tries  to  put  most  of  its
  594.         executable  code  into  bank-switch  memory if available, leaving
  595.         only  a  small stub in High-DOS memory.  You can prevent HIGHDISK
  596.         from doing this by using the /NOSPLIT option, as in: 
  597.  
  598.  
  599.  
  600.  
  601.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  602.  
  603.  
  604.         Aug 11, 1992           ADVANCED UTILITIES                       8
  605.  
  606.  
  607.                 DEVICE=HIGHDISK /NOSPLIT 
  608.  
  609.  
  610.         3.3 Preloading Files into the Ram Disk    
  611.  
  612.         HIGHDISK  can  preload  a  set  of files into the ram disk during
  613.         CONFIG.SYS  processing.   Simply add one or more filespecs on the
  614.         command line, each preceeded by a dollar sign, as in: 
  615.  
  616.              DEVICE=HIGHDISK.SYS $PRELOAD.DAT $C:\TLBMM\HIGHTSR.EXE
  617.  
  618.         An  "indirect"  file  (e.g.,  DEVICE=HIGHDISK.SYS  @HIGHDISK.OPT)
  619.         containing  one  or  more options per line can be used instead if
  620.         the list is too long.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  662.  
  663.  
  664.         Aug 11, 1992           ADVANCED UTILITIES                       9
  665.  
  666.  
  667.                  CHAPTER 4 - HIGHEMS3.SYS and HIGHEMS4.SYS      
  668.  
  669.  
  670.         Two  expanded  memory  emulators  are provided with The Last Byte
  671.         Memory  Manager.   Both  use  upper  memory  as  expanded memory.
  672.         HIGHEMS3.SYS  is  compliant  with  the  older  LIM  3.2 spec, and
  673.         HIGHEMS4.SYS  with the newer LIM 4.0 spec.  Use only one of these
  674.         device  drivers,  and  load  it  after  LASTBYTE.SYS.   Both  are
  675.         included  since  the  HIGHEMS3.SYS  requires much less memory for
  676.         the   device   driver   itself   than   HIGHEMS4.SYS.    In  many
  677.         applications, you may find that 3.2 is all you need.  
  678.  
  679.         These  device  drivers  EMULATE expanded memory!  That means that
  680.         they  use  software  to  copy  data  back  and  forth between the
  681.         logical  EMS  memory (pages) and the page frame.  Obviously, this
  682.         is  much  slower  than  the  performance  you  would realize with
  683.         hardware  support,  or even with EMM386.  Therefore, these device
  684.         drivers  are  provided  as  a  last  resort for those who have no
  685.         other  way of providing EMS memory to their applications, such as
  686.         users with only 1 meg of memory.  
  687.  
  688.         Do  not install HIGHEMS3 or HIGHEMS4 using either HIGHDRVR or the
  689.         DEVICEHIGH command - simply use a DEVICE command as in: 
  690.  
  691.                 DEVICE=HIGHEMS3.SYS 
  692.  
  693.  
  694.         4.1 Controlling Memory Usage       
  695.  
  696.         By  default,  both HIGHEMS3.SYS and HIGHEMS4.SYS will allocate as
  697.         many  16k  logical  pages  as  possible,  first  from Bank-Switch
  698.         memory  and  then  from  High-DOS  memory.   You  can specify the
  699.         number  of  logical  pages  to allocate as a numeric parameter on
  700.         the command line, as in: 
  701.  
  702.                 DEVICE=HIGHEMS3.SYS 4 
  703.  
  704.                 ╔═════════════════════════════════════════════════╗
  705.                 ║ NOTE: If you have used the command DOS=UMB or   ║
  706.                 ║ DOS=HIGH,UMB with HIGHUMM.SYS to let DOS 5.0    ║
  707.                 ║ manage the Upper Memory Blocks, you must limit  ║
  708.                 ║ how much upper memory HIGHUMM can use so that   ║
  709.                 ║ some will be available for HIGHEMS3/HIGHEMS4.   ║
  710.                 ╚═════════════════════════════════════════════════╝
  711.  
  712.  
  713.         4.2 The /NOSPLIT Option       
  714.  
  715.         HIGHEMS3.SYS  and HIGHEMS4.SYS automatically load themselves into
  716.         upper  memory,  putting  as  much  of  their  executable  code as
  717.         possible  into  bank-switch memory if available.  You can prevent
  718.  
  719.  
  720.  
  721.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  722.  
  723.  
  724.         Aug 11, 1992           ADVANCED UTILITIES                      10
  725.  
  726.  
  727.         it  from putting part of their code in bankswitch memory by using
  728.         the /NOSPLIT option, as in: 
  729.  
  730.                 DEVICE=HIGHEMS3.SYS /NOSPLIT 
  731.  
  732.  
  733.         4.3 The /RESTRICT Option       
  734.  
  735.         This  option  restricts  the placement of the EMS page frame to a
  736.         128k  region  of  upper  memory  that  does  not contain a 16-bit
  737.         adapter.   For  a  detailed  discussion  of why these regions may
  738.         need  to  be  restricted and how to control the restrictions, see
  739.         the  discussion  on  the  RESTRICT  option of LASTBYTE.SYS in the
  740.         file LASTBYTE.DOC.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  782.  
  783.  
  784.         Aug 11, 1992           ADVANCED UTILITIES                      11
  785.  
  786.  
  787.                          CHAPTER 5 - HIGHENV.EXE        
  788.  
  789.  
  790.         HIGHENV  is  a  utility  that moves the master environment of the
  791.         command  processor  (typically  COMMAND.COM)  out of conventional
  792.         memory  and  into High-DOS memory.  It can also be used to change
  793.         the size of the environment at any time.  
  794.  
  795.                 ╔═════════════════════════════════════════════════╗
  796.                 ║ WARNING: HIGHENV is incompatible with Novell.   ║ 
  797.                 ╚═════════════════════════════════════════════════╝
  798.  
  799.                 ╔═════════════════════════════════════════════════╗
  800.                 ║ NOTE: The /U option of 4DOS is an alternative   ║ 
  801.                 ║ method for placing the master environment in    ║ 
  802.                 ║ upper memory.  You don't need to use HIGHENV if ║ 
  803.                 ║ you are already using the /U option of 4DOS.    ║ 
  804.                 ╚═════════════════════════════════════════════════╝
  805.  
  806.  
  807.         5.1 The HIGHENV Report       
  808.  
  809.         If  used  without  a  command line option, HIGHENV simply reports
  810.         the  location,  capacity,  and  length of the master environment.
  811.         If  the  environment  has not been moved from low memory, it also
  812.         examines  and  reports  potential  references  to the environment
  813.         that  exist  within  the  command  processor.  If one or more are
  814.         located, the first line(s) of output from HIGHENV will be: 
  815.  
  816.               "Potential command processor patch at location XXXX."
  817.  
  818.         where  "XXXX"  will  vary  from one command processor to another.
  819.         HIGHENV  should  be used this way at least once to determine what
  820.         /PATCH options (described below) may be required.  
  821.  
  822.  
  823.         5.2 The /PATCH Option       
  824.  
  825.         To  move  the  master environment into upper memory, you must use
  826.         one  or  more  /PATCH options to specify locations in the command
  827.         processor  that  must be modified.  (If there are no locations in
  828.         the   command   processor   that   need   to   be  modified,  use
  829.         /PATCH=NONE.)   The  /PATCH  option  may  only be specified once,
  830.         when  the  environment  is  moved  from low to upper memory.  The
  831.         patch   locations   are   recorded   in   upper  memory  and  are
  832.         automatically  adjusted if the environment is repositioned within
  833.         upper  memory  as  the  result  of a subsequent use of HIGHENV to
  834.         resize the environment.  
  835.  
  836.         A  maximum  of four command processor locations to be patched may
  837.         be specified in either of two ways: 
  838.  
  839.  
  840.  
  841.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  842.  
  843.  
  844.         Aug 11, 1992           ADVANCED UTILITIES                      12
  845.  
  846.  
  847.  
  848.                 HIGHENV 256 /PATCH=1057 /PATCH=1536 
  849.  
  850.                 -or- 
  851.  
  852.                 HIGHENV 256 /PATCH=1057,1536 
  853.  
  854.         Each  of the patch numbers specify a location in the memory image
  855.         of  the  command  processor;  these locations contain the segment
  856.         address  of the master environment, and must be modified to point
  857.         to  the  new master environment in upper memory.  Possible values
  858.         to  be  used  are  restricted  to  those  locations reported when
  859.         HIGHENV  is  run  with  no  command  line  options and before the
  860.         environment has been moved into upper memory.  
  861.  
  862.         COMMAND.COM  usually  contains  only one such location that needs
  863.         to  be  patched;  4DOS  contains  none (use /PATCH=NONE).  (Note:
  864.         HIGHENV  always  patches  the  environment  address stored in the
  865.         program  segment  prefix  of  the  command processor - this patch
  866.         does not need to be specified.) 
  867.  
  868.  
  869.         5.3 Setting the Environment Size      
  870.  
  871.         The  size  option  is  simply  a  number that specifies the extra
  872.         space   in   bytes  to  be  allocated  to  accomodate  additional
  873.         environment  strings  besides  those already established.  If the
  874.         size  option  is  omitted, the size of the environment block (and
  875.         thus its capacity for growth) will not be changed.  
  876.  
  877.                 ╔═════════════════════════════════════════════════╗
  878.                 ║ WARNING: The SET command of COMMAND.COM norm-   ║ 
  879.                 ║ ally warns you if you run out of space in the   ║ 
  880.                 ║ master environment.  However, if you have used  ║ 
  881.                 ║ HIGHENV to move it into upper memory, this      ║ 
  882.                 ║ safeguard no longer exists - you'll just write  ║ 
  883.                 ║ over the next thing in upper memory!  Be sure   ║ 
  884.                 ║ to check the HIGHENV report to be sure that you ║ 
  885.                 ║ have enough extra space in the environment so   ║ 
  886.                 ║ that this won't occur.                          ║ 
  887.                 ╚═════════════════════════════════════════════════╝
  888.  
  889.         Once  moved into upper memory, the size of the environment may be
  890.         changed  by  using  HIGHENV  with  simply  a  size  option.   For
  891.         example,  to  shrink  the environment to only enough room for the
  892.         current environment strings, use: 
  893.  
  894.                 HIGHENV 0 
  895.  
  896.         Or  to  change  the  growth  capacity  to  allow  for the current
  897.         environment strings plus 100 bytes more, use: 
  898.  
  899.  
  900.  
  901.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  902.  
  903.  
  904.         Aug 11, 1992           ADVANCED UTILITIES                      13
  905.  
  906.  
  907.  
  908.                 HIGHENV 100 
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  962.  
  963.  
  964.         Aug 11, 1992           ADVANCED UTILITIES                      14
  965.  
  966.  
  967.                         CHAPTER 6 - HIGHFILE.EXE        
  968.  
  969.  
  970.         This  program  is  used  to  implement  most  of  the  CONFIG.SYS
  971.         "FILES=n"   directive   in   High-DOS   memory   rather  than  in
  972.         Conventional  memory.   The  amount  of  memory  required  by the
  973.         "FILES=n"  directive  is  approximately  'n' times 59 bytes.  Set
  974.         the  minimum  of  FILES=8  in the CONFIG.SYS file, and then place
  975.         the rest in High-DOS memory.  For example, the command: 
  976.  
  977.                 HIGHFILE 42 
  978.  
  979.         will  add an additional FILES=42 (2500 bytes) in High-DOS memory,
  980.         for a total of FILES=50.  
  981.  
  982.                 ┌─────────────────────────────────────────────────┐
  983.                 │ NOTE: Windows 3.0 may not run in 386 Enhanced   │
  984.                 │ mode with FILES in upper memory.                │
  985.                 └─────────────────────────────────────────────────┘ 
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  1022.  
  1023.  
  1024.         Aug 11, 1992           ADVANCED UTILITIES                      15
  1025.  
  1026.  
  1027.                         CHAPTER 7 - HIGHHOLE.EXE        
  1028.  
  1029.  
  1030.         HIGHHOLE  is  a utility program that finds unused space ("holes")
  1031.         in  shadowed ROMs.  A "hole" is defined as a sequence of at least
  1032.         256  bytes, all having the same value, and usually corresponds to
  1033.         unused,  left-over  space  in  the  ROM.  If the ROM is shadowed,
  1034.         this  space  can  usually  be converted into free High-DOS memory
  1035.         using the HOLE option of LASTBYTE.SYS.  
  1036.  
  1037.         These  holes  are  often less than 1k in size, but sometimes much
  1038.         larger.   Since  The  Last  Byte Memory Manager uses a "best fit"
  1039.         strategy  when  allocating  Hi-DOS memory, even the smaller holes
  1040.         can  become  useful  to  hold  the  master environment created by
  1041.         HIGHENV,   the  markers  of  HIGHMARK,  or  with  utilities  like
  1042.         HIGHDISK  and  HIGHSPLR  that  can  distribute their memory among
  1043.         several  small pieces.  In addition, The Last Byte Memory Manager
  1044.         will  use  the  smallest  holes for memory control blocks (MCB's)
  1045.         that must be allocated for Bank-Switch memory needs.  
  1046.  
  1047.  
  1048.         7.1 The HOLE=<base>:<size> Option of LASTBYTE.SYS     
  1049.  
  1050.         HIGHHOLE   merely   locates  probable  holes,  and  suggests  the
  1051.         corresponding HOLE options to be used with LASTBYTE.SYS, as in: 
  1052.  
  1053.                 DEVICE=LASTBYTE.SYS HOLE=C7F3:176 
  1054.  
  1055.                 ┌─────────────────────────────────────────────────┐
  1056.                 │ NOTES: The <base> and <size> parameters are     │
  1057.                 │ different from other options: <size> is in bytes│
  1058.                 │ and must be a multiple of 16; <base> may be any │
  1059.                 │ hexadecimal value from A000 to FFFF.            │
  1060.                 └─────────────────────────────────────────────────┘
  1061.  
  1062.         You  must  modify  your LASTBYTE.SYS configuration to include the
  1063.         HOLE  options  that you want to use from the HIGHHOLE report.  No
  1064.         option  will be suggested for a hole if (1) the corresponding ROM
  1065.         area  is  not  shadowed,  (2)  the  hole is in the Bios Data Area
  1066.         (FE05-FFFF),   or   (3)  the  corresponding  shadow  ram  is  not
  1067.         controlled by The Last Byte Memory Manager.   
  1068.  
  1069.                 ┌─────────────────────────────────────────────────┐
  1070.                 │ NOTE: Use of LASTBYTE.SYS's HOLE option will    │
  1071.                 │ cause warm boots to be converted to cold boots. │
  1072.                 └─────────────────────────────────────────────────┘
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.  
  1081.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  1082.  
  1083.  
  1084.         Aug 11, 1992           ADVANCED UTILITIES                      16
  1085.  
  1086.  
  1087.                          CHAPTER 8 - HIGHKEY.EXE        
  1088.  
  1089.  
  1090.         HIGHKEY  is  a  advanced  command line editor that can recall and
  1091.         edit  previous  commands.   HIGHKEY  is  similar  to  the  DOSKEY
  1092.         program  in  DOS  5,  but with filename completion and the unique
  1093.         ability  to  store  the  command line history and much of its own
  1094.         executable  code  in  Bank-Switch  memory.   It  does not support
  1095.         DOSKEY macros, or the editing keys F7, F9, Alt+F7, or Alt+F10.  
  1096.  
  1097.         To install HIGHKEY, simply enter it as a command at the prompt: 
  1098.  
  1099.                 A>HIGHKEY 
  1100.  
  1101.         This  will  allocate  a  recall buffer with a default size of 512
  1102.         bytes,  but  which  can  be changed at any time with the use of a
  1103.         command line option.  
  1104.  
  1105.  
  1106.         8.1 The /BUFSIZE=n Option       
  1107.  
  1108.         This  option  empties  the  recall  buffer, and resizes it to 'n'
  1109.         bytes.   If  'n'  is  replaced  by  the  word MAXIMUM, the recall
  1110.         buffer size will use all available memory up to 65535 bytes.  
  1111.  
  1112.  
  1113.         8.2 The /INSERT and /OVERSTRIKE Options     
  1114.  
  1115.         These   options   set  the  default  typing  mode  to  insert  or
  1116.         overstike, respectively.  
  1117.  
  1118.  
  1119.         8.3 The /HISTORY Option       
  1120.  
  1121.         This  option  displays  the  contents  of the command line recall
  1122.         buffer on the screen.  
  1123.  
  1124.  
  1125.         8.4 Preloading the History Buffer      
  1126.  
  1127.         This  option  consists  of simply a filename given on the command
  1128.         line,   optionally   preceeded   by   a   drive   and   directory
  1129.         specification.   It may be used together with the /HISTORY option
  1130.         to write the recall buffer to a file, as in: 
  1131.  
  1132.                 HIGHKEY /HISTORY <filename> 
  1133.  
  1134.         Or  used  without  the  /HISTORY option to load the recall buffer
  1135.         from a file, as in: 
  1136.  
  1137.                 HIGHKEY <filename> 
  1138.  
  1139.  
  1140.  
  1141.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  1142.  
  1143.  
  1144.         Aug 11, 1992           ADVANCED UTILITIES                      17
  1145.  
  1146.  
  1147.  
  1148.  
  1149.         8.5 The /NOSPLIT Option       
  1150.  
  1151.         HIGHKEY  automatically loads itself into upper memory, putting as
  1152.         much  of  its executable code as possible into bank-switch memory
  1153.         if  available.   You  can prevent it from doing this by using the
  1154.         /NOSPLIT option, as in: 
  1155.  
  1156.                 HIGHKEY /NOSPLIT 
  1157.  
  1158.  
  1159.         8.6 Editing Commands        
  1160.  
  1161.         Some  of  the  HIGHKEY  editing commands use what is known as the
  1162.         "template".   The  template  is  initialized  to  a  copy  of the
  1163.         previous  command line, but may be modified by one or more of the
  1164.         editing commands.  
  1165.  
  1166.         Left Arrow              Moves the cursor back one character.
  1167.  
  1168.         Right Arrow             Moves the cursor forward one character.
  1169.  
  1170.         Up Arrow                Recalls the previous command and stores
  1171.                                 it in the template.
  1172.  
  1173.         Down Arrow              Recalls the next command and stores it
  1174.                                 in the template.
  1175.  
  1176.         PgUp                    Recalls the oldest command and stores it
  1177.                                 in the template.
  1178.  
  1179.         PgDn                    Recalls the most recent command and stores
  1180.                                 it in the template.
  1181.  
  1182.         Ctrl+Left Arrow         Moves the cursor back one word.
  1183.  
  1184.         Ctrl+Right Arrow        Moves the cursor forward one word.
  1185.  
  1186.         Home                    Moves the cursor to the beginning of
  1187.                                 the command line.
  1188.  
  1189.         End                     Moves the cursor to the end of the
  1190.                                 command line.
  1191.  
  1192.         Esc                     Erases the command line; does not affect
  1193.                                 the template.
  1194.  
  1195.         Ins                     Toggles insert versus overwrite mode.
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  1202.  
  1203.  
  1204.         Aug 11, 1992           ADVANCED UTILITIES                      18
  1205.  
  1206.  
  1207.         Backspace               Deletes the character to the left of the
  1208.                                 cursor; does not affect the template.
  1209.  
  1210.         Del                     Deletes the character at the cursor; does
  1211.                                 not affect the template.
  1212.  
  1213.         Ctrl+End                Deletes from the cursor to the end of
  1214.                                 the line; does not affect the template.
  1215.  
  1216.         Ctrl+Home               Deletes from the beginning of the line
  1217.                                 up to but not including the cursor; does
  1218.                                 not affect the template.
  1219.  
  1220.         F1                      Copies one character from the template.
  1221.  
  1222.         F2                      Waits for a keypress, then inserts charac-
  1223.                                 ters from the template up to but not in-
  1224.                                 cluding the first occurrence of that key.
  1225.  
  1226.         F3                      Copies the remainder of the template to
  1227.                                 the command line.
  1228.  
  1229.         F4                      Waits for a keypress, then deletes charac-
  1230.                                 ters from the template up to but not in-
  1231.                                 cluding that key.  The template is then
  1232.                                 displayed on the command line.
  1233.  
  1234.         F5                      Copies the command line to the template
  1235.                                 and then erases the command line.
  1236.  
  1237.         F6                      Inserts an end-of-file character (Ctrl+Z).
  1238.  
  1239.         F8                      Searches for the next command that matches
  1240.                                 the characters in the command line up to
  1241.                                 the position of the cursor, then copies
  1242.                                 that command to the template.
  1243.  
  1244.         Tab                     Searches for a file on the disk whose name
  1245.                                 matches the partial filespec given by the
  1246.                                 text indicated by the cursor.  If found,
  1247.                                 the filespec is completed on the command
  1248.                                 line.
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  1262.  
  1263.  
  1264.         Aug 11, 1992           ADVANCED UTILITIES                      19
  1265.  
  1266.  
  1267.                  CHAPTER 9 - HIGHMARK.EXE and HIGHUNDO.EXE      
  1268.  
  1269.  
  1270.         Sometimes  it  can  be  useful  to  remove one or more TSR's from
  1271.         memory,  either  because  you  no longer want to use the features
  1272.         that  they  provide  or  perhaps  in order to make room for other
  1273.         software.  
  1274.  
  1275.         In  order  to  be  able  to  remove  a  group of TSR's from upper
  1276.         memory,  they must be be marked.  To mark them, run HIGHMARK once
  1277.         before  you  use  HIGHTSR  to load the TSR's.  Then later, simply
  1278.         run  HIGHUNDO  - the mark and all of its associated TSR's will be
  1279.         removed.  
  1280.  
  1281.         HIGHMARK  may  be  executed  more than once to establish multiple
  1282.         levels  of  TSR's  to  be  removed.   Each  execution of HIGHMARK
  1283.         places  another  mark in memory with a unique mark number.  Every
  1284.         TSR  loaded  by HIGHTSR is automatically associated with the most
  1285.         recent  execution  of  HIGHMARK.   You can use HIGHMEM to see the
  1286.         marks,  their  mark  number, and the set of TSR's associated with
  1287.         the  mark.   Every execution of HIGHUNDO will then remove the set
  1288.         of TSR's associated with the most recent HIGHMARK.  
  1289.  
  1290.         You  may  specify  a  mark level on the command line of HIGHUNDO.
  1291.         This  will  cause it to remove all the TSR's and marks whose mark
  1292.         number  is  greater  than  or  equal to the number on the command
  1293.         line.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  1322.  
  1323.  
  1324.         Aug 11, 1992           ADVANCED UTILITIES                      20
  1325.  
  1326.  
  1327.                 CHAPTER 10 - HIGHRSVD.EXE and HIGHRSVD.SYS      
  1328.  
  1329.  
  1330.         HIGHRSVD  helps  control  the  allocation  of upper memory in The
  1331.         Last  Byte  Memory Manager.  Basically, it is used to reserve and
  1332.         later  release selected blocks of memory.  There are two versions
  1333.         of   HIGHRSVD,   a   device  driver  (HIGHRSVD.SYS)  for  use  in
  1334.         CONFIG.SYS,  and  an  application  program (HIGHRSVD.EXE) for use
  1335.         outside of CONFIG.SYS.  
  1336.  
  1337.         Each  time HIGHRSVD is invoked, it begins by releasing any memory
  1338.         that  had  been  reserved  by  a previous invocation of HIGHRSVD.
  1339.         Then  if  any command line options are specified, each is used to
  1340.         reserve a block of memory.  
  1341.  
  1342.  
  1343.         10.1 Reserving High-DOS Memory       
  1344.  
  1345.         Blocks  of  High-DOS  memory  can be reserved by specifying their
  1346.         size as parameters on the command line as in: 
  1347.  
  1348.                 DEVICE=HIGHRSVD.SYS 10000 5000 2000 
  1349.  
  1350.                 -or- 
  1351.  
  1352.                 HIGHRSVD 10000 5000 2000 
  1353.  
  1354.         Both  of  the above examples will reserve three blocks of memory:
  1355.         one  of  10,000 bytes, a second block of 5,000 bytes, and a third
  1356.         block  of  2,000  bytes.   HIGHRSVD  will attempt to satisfy each
  1357.         request  by using a "best fit" strategy; that is, it will reserve
  1358.         a  block  a  memory  using  the smallest free block that is large
  1359.         enough  to  satisfy  the request.  For example, if you have three
  1360.         free  blocks  of  1000,  5000,  and  10000 bytes respectively, an
  1361.         option  of  4000  will  reserve 4000 bytes from the free block of
  1362.         5000.  
  1363.  
  1364.  
  1365.         10.2 The HIGH Suboption       
  1366.  
  1367.         By  default, the reserved block will be positioned at the low end
  1368.         of  the selected free block's address space; you may position the
  1369.         reserved  block at the top of the address space by adding ",HIGH"
  1370.         to the size specification, as in: 
  1371.  
  1372.                 HIGHRSVD 4000,HIGH 
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  1382.  
  1383.  
  1384.         Aug 11, 1992           ADVANCED UTILITIES                      21
  1385.  
  1386.  
  1387.                         CHAPTER 11 - HIGHSPLR.EXE        
  1388.  
  1389.  
  1390.         HIGHSPLR  is  a  interrupt-driven  print  spooler  that creates a
  1391.         print  buffer  in  upper  memory.   Once installed, programs that
  1392.         send  output to the printer are no longer held up waiting for the
  1393.         printer,  but  rather  simply  send  their  output to the buffer.
  1394.         Characters  in  the  buffer  are  then sent to the printer by the
  1395.         resident  portion  of  HIGHSPLR while your computer is free to do
  1396.         other work.  
  1397.  
  1398.         Unlike  the  DOS  printer  spooler (PRINT), HIGHSPLR is driven by
  1399.         the   printer   hardware  interrupt  line  that  signals  printer
  1400.         "ready",  rather  than  the  timer  tick (that only interrupts 18
  1401.         times   per   second).   Unlike  PRINT,  this  allows  full-speed
  1402.         transfers  (e.g.,  up  to  about  8,000  cps) to the printer even
  1403.         while executing other programs.  
  1404.  
  1405.         HIGHSPLR  tries  to  place  its buffer in Bank-Switch memory, but
  1406.         will  use  High-DOS  memory if a sufficient amount of Bank-Switch
  1407.         memory is not available.  
  1408.  
  1409.         The command line syntax for HIGHSPLR is given below.  
  1410.  
  1411.                 HIGHSPLR [opt] [opt] ... [opt] 
  1412.  
  1413.         All  parameters  are  optional and may be specified in any order.
  1414.         All  of  the  options except LPT, COM, and IRQ may be abbreviated
  1415.         by their first letter.  
  1416.  
  1417.  
  1418.         11.1 Specifying the Buffer Size      
  1419.  
  1420.         The  size  of  the  print  buffer  will  default to all available
  1421.         Bank-Switch  and High-DOS memory.  This option may be used to use
  1422.         a smaller buffer, or to resize the buffer later, as in: 
  1423.  
  1424.                 KBYTES=20 
  1425.  
  1426.  
  1427.         11.2 Specifying the Logical Device      
  1428.  
  1429.         HIGHSPLR   supports   both  parallel  and  serial  printers,  but
  1430.         defaults  to  LPT1.  Multiple copies of HIGHSPLR can be installed
  1431.         to  support  more  than one printer.  You can specify the logical
  1432.         device  by  placing  one  of the following options on the command
  1433.         line: 
  1434.  
  1435.                 LPT1    LPT2    LPT3    COM1    COM2    COM3    COM4
  1436.  
  1437.         HIGHSPLR  automatically  determines the physical i/o port address
  1438.  
  1439.  
  1440.  
  1441.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  1442.  
  1443.  
  1444.         Aug 11, 1992           ADVANCED UTILITIES                      22
  1445.  
  1446.  
  1447.         from  the  device  name  (e.g.,  LPT2), but you can override this
  1448.         with the PORT option, as in: 
  1449.  
  1450.                 PORT=# 
  1451.  
  1452.  
  1453.         11.3 Specifying the Hardware Interrupt      
  1454.  
  1455.         HIGHSPLR  determines a default physical interrupt vector from the
  1456.         device  name (e.g., LPT2), but you can override this by using one
  1457.         of the following options on the command line: 
  1458.  
  1459.                 IRQ0    IRQ1    IRQ2    IRQ3    IRQ4    IRQ5    IRQ6    IRQ7
  1460.  
  1461.         If  you would rather use polling instead of interrupt-driven I/O,
  1462.         place  the  word "POLL" on the command line and do not use one of
  1463.         the  IRQ#  options.   This  may  be necessary if another parallel
  1464.         port   is   in   use   for   some   other   purpose  (e.g.,  with
  1465.         Lantastic/Z).   
  1466.  
  1467.  
  1468.         11.4 Specifying Flow Control       
  1469.  
  1470.         Serial   ports   usually  require  some  form  of  flow  control.
  1471.         HIGHSPLR  does not implement flow control by default.  To have it
  1472.         use  flow  control,  place  one  of  the following options on the
  1473.         command line: 
  1474.  
  1475.                 FLOW=<type>, where <type> is selected from:
  1476.  
  1477.                 XON     DTR     RTS     NONE (default)
  1478.  
  1479.  
  1480.         11.5 The MONITOR Option       
  1481.  
  1482.         HIGHSPLR  has  a  unique "monitor" option.  While output is being
  1483.         sent  to the printer, you can monitor the actual transfer rate by
  1484.         entering the command, 
  1485.  
  1486.                 A>HIGHSPLR MONITOR 
  1487.  
  1488.         The  monitor  operation may be terminated at any time by pressing
  1489.         a  key, or will automatically terminate when the print buffer has
  1490.         been   emptied.   Once  terminated,  HIGHSPLR  will  display  the
  1491.         maximum  and  average  transfer rates measured during the monitor
  1492.         operation.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  1502.  
  1503.  
  1504.         Aug 11, 1992           ADVANCED UTILITIES                      23
  1505.  
  1506.  
  1507.         11.6 The RESET Option       
  1508.  
  1509.         The  RESET  option  provides  a  way  to cancel printing from the
  1510.         buffer (and do a form-feed) at any time.  
  1511.  
  1512.  
  1513.         11.7 The NOTEST Option       
  1514.  
  1515.         The  NOTEST option disables the default test for functionality of
  1516.         the physical port that occurs when HIGHSPLR is first installed.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.  
  1526.  
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.  
  1535.  
  1536.  
  1537.  
  1538.  
  1539.  
  1540.  
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.         Copyright (C) 1990-92, Key Software Products. All Rights Reserved
  1562.  
  1563.